home *** CD-ROM | disk | FTP | other *** search
/ PCMania 64 / PCMania CD64_1.iso / phy / phy001 / graph / graph20.arj / LIB / ASM / GRFLIB.INC < prev    next >
Encoding:
Text File  |  1996-08-19  |  22.1 KB  |  862 lines

  1. ;;  FICHERO PARA LA INCLUSIαN DE LAS FUNCIONES DE GRAPH.LIB
  2. ;;              NAVI DJ.     VILAMARXANT 1996
  3.  
  4. extrn DBorraPantalla:near
  5. extrn DPonPixel:near
  6. extrn DCogePixel:near
  7. extrn DLinea:near
  8. extrn DCreaVirtual:near
  9. extrn DDestVirtual:near
  10. extrn DCopiaPantalla:near
  11. extrn DTrataError:near
  12. extrn DCargaSprite:near
  13. extrn DDibujaSprite:near
  14. extrn DDestSprite:near
  15. extrn DVaciaMEM:near
  16. extrn DfDibujaSprite:near
  17. extrn DfLinea:near
  18. extrn DfPonPixel:near
  19. extrn DfCogePixel:near
  20. extrn DfBorraPantalla:near
  21. extrn DCogeColor:near
  22. extrn DPonColor:near
  23. extrn DCogePaleta:near
  24. extrn DPonPaleta:near
  25. extrn DFadeDown:near
  26. extrn DCargaPaleta:near
  27. extrn DFadeUp:near
  28. extrn DFadeTo:near
  29. extrn DBlackOut:near
  30. extrn DCargaCel:near
  31. extrn DCargaAnima:near
  32. extrn DPonFrameAnima:near
  33. extrn DfPonFrameAnima:near
  34. extrn DDestAnima:near
  35. extrn DInsertaDirSprite:near
  36. extrn DInsertaDirAnima:near
  37. extrn DSegmentoSprite:near
  38. extrn DSegmentoAnima:near
  39. extrn DSegmentoPal:near
  40. extrn DSegmentoPV:near
  41. extrn DInsertaDirPV:near
  42. extrn DInsertaDirPal:near
  43. extrn DDescompPuntos:near
  44. extrn DDescompWorm:near
  45. extrn DfCaja:near
  46. extrn DCaja:near
  47. extrn DfRectangulo:near
  48. extrn DRectangulo:near
  49. extrn DPoligono:near
  50. extrn DfPoligono:near
  51. extrn DCreaSprite:near
  52. extrn DCambiaSprites:near
  53. extrn DGetImagen:near
  54. extrn DfGetImagen:near
  55. extrn DCirculo:near
  56. extrn DfCirculo:near
  57. extrn DLeePCX:near
  58. extrn DDestPaleta:near
  59. extrn DLeeBMP:near
  60. extrn DPlayFLI:near
  61. extrn DInicGRAPH:near
  62. extrn DEndGRAPH:near
  63. extrn DCargaFuente:near
  64. extrn DCambiaTipo:near
  65. extrn DQueTipo:near
  66. extrn DEscLetra:near
  67. extrn DCogeFuenteDOS:near
  68. extrn DSetCursor:near
  69. extrn DGetCursor:near
  70. extrn DEscribe:near
  71. extrn DLeeLetra:near
  72. extrn DLeeLetraEcho:near
  73. extrn DLeeByte:near
  74. extrn DLeeCadena:near
  75. extrn DLeeWord:near
  76. extrn DEscByte:near
  77. extrn DEscWord:near
  78. extrn DWrite:near
  79. extrn DNuevoArchivo:near
  80. extrn DLeeEntrada:near
  81. extrn DLeeTrozo:near
  82. extrn DLongitudFile:near
  83. extrn DFlipCopy:near
  84. extrn DFlip:near
  85. extrn DSegmentoFuente:near
  86. extrn DSetStart:near
  87. extrn DDoblaLineas:near
  88. extrn DSetVSPixels:near
  89. extrn DPideXMS:near
  90. extrn DLiberaXMS:near
  91. extrn DGetAddress:near
  92. extrn DMaximaXMS:near
  93. extrn DGuardaFlat:near
  94. extrn DCargaFlat:near
  95. extrn DCargaBloque:near
  96. extrn DCargaMapa:near
  97. extrn DDestBloque:near
  98. extrn DDestMapa:near
  99. extrn DDibujaMapa:near
  100. extrn DPosMapa:near
  101. extrn DInsertaDirBloque:near
  102. extrn DInsertaDirMapa:near
  103. extrn DSegmentoBloque:near
  104. extrn DSegmentoMapa:near
  105. extrn DResetGRAPH:near
  106. extrn DModoGrafico:near
  107. extrn DModoTexto:near
  108. extrn DCreaMapa:near
  109. extrn DCreaBloque:near
  110. extrn DDestFuente:near
  111. extrn DInsertaDirFuente:near
  112. extrn DGetSysInfo:near
  113.  
  114. extrn Aleatorio:near
  115.  
  116. extrn LERROR:near                       ;  La variable de errores.
  117. extrn Registro:near                     ;  El nº de campo total.
  118.  
  119. INCLUDELIB GRAPH
  120.  
  121. ;;  Funciones y macros adicionales de utilidad.
  122.  
  123. LiberaMEM       PROC                    ;  Función que libera la memoria
  124.                 MOV     BX, SS          ; reservada por el DOS a nuestro
  125.                 MOV     AX, ES          ; programa y que no es utilizada.
  126.                 SUB     BX, AX          ;  ES debe contener el PSP.
  127.                 MOV     AX, SP
  128.                 ADD     AX, 15d
  129.                 MOV     CL, 4
  130.                 SHR     AX, CL
  131.                 ADD     BX, AX
  132.                 MOV     AH, 4Ah
  133.                 INT     21h
  134.                 RET
  135. LiberaMEM       ENDP
  136.  
  137. WaitVR          MACRO                   ;  Espera el retrazo vertical.
  138.                 PUSH    DX 
  139.                 PUSH    AX
  140.                 MOV     DX,03DAh
  141.         @@St1:  IN      AL,DX
  142.                 TEST    AL,08h
  143.                 JZ    @@St1
  144.         @@St2:  IN      AL,DX
  145.                 TEST    AL,08h
  146.                 JNZ   @@St2
  147.                 POP     AX 
  148.                 POP     DX
  149.                 ENDM
  150.  
  151. ;;  ¡Cuanto se hechan en falta este par de instrucciones!
  152.  
  153. XPUSH          MACRO regmem            ; apilar lista de registros
  154.                  IRP rm, <regmem>
  155.                    PUSH rm
  156.                  ENDM
  157.                ENDM
  158.  
  159. XPOP           MACRO regmem            ; desapilar lista de registros
  160.                  IRP rm, <regmem>
  161.                    POP rm
  162.                  ENDM
  163.                ENDM
  164.  
  165. ;;  Aqui están las MACROS de llamada de todas las funciones y procedimientos.
  166.  
  167. CargaAnima      MACRO
  168.                 XPUSH   <DS, BP, ES>
  169.                 CALL    WORD PTR CS:[DCargaAnima]
  170.                 XPOP    <ES, BP, DS>
  171.                 ENDM
  172.                 
  173. PonFrameAnima   MACRO
  174.                 XPUSH   <ES, DS>
  175.                 PUSHA
  176.                 CALL    WORD PTR CS:[DPonFrameAnima]
  177.                 POPA
  178.                 XPOP    <DS, ES>
  179.                 ENDM
  180.  
  181. fPonFrameAnima  MACRO
  182.                 XPUSH   <ES, DS>
  183.                 PUSHA
  184.                 CALL    WORD PTR CS:[DfPonFrameAnima]
  185.                 POPA
  186.                 XPOP    <DS, ES>
  187.                 ENDM
  188.  
  189. DestAnima       MACRO
  190.                 PUSH    ES
  191.                 PUSHA
  192.                 CALL    WORD PTR CS:[DDestAnima]
  193.                 POPA
  194.                 POP     ES
  195.                 ENDM
  196.  
  197.  
  198. CogeColor       MACRO
  199.                 PUSH    DX
  200.                 CALL    WORD PTR CS:[DCogeColor]
  201.                 POP     DX
  202.                 ENDM
  203.  
  204. PonColor        MACRO
  205.                 PUSH    DX
  206.                 CALL    WORD PTR CS:[DPonColor]
  207.                 POP     DX
  208.                 ENDM
  209.  
  210. CogePaleta      MACRO
  211.                 XPUSH   <ES, DI>
  212.                 CALL    WORD PTR CS:[DCogePaleta]
  213.                 XPOP    <DI, ES>
  214.                 ENDM
  215.  
  216. PonPaleta       MACRO
  217.                 XPUSH   <ES, DI>
  218.                 CALL    WORD PTR CS:[DPonPaleta]
  219.                 XPOP    <DI, ES>
  220.                 ENDM
  221.  
  222. CargaPaleta     MACRO
  223.                 XPUSH   <DS, BX, CX, ES>
  224.                 CALL    WORD PTR CS:[DCargaPaleta]
  225.                 XPOP    <ES, CX, BX, DS>
  226.                 ENDM
  227.  
  228. FadeDown        MACRO
  229.                 PUSHA
  230.                 CALL    WORD PTR CS:[DFadeDown]
  231.                 POPA
  232.                 ENDM
  233.  
  234. FadeUp          MACRO
  235.                 PUSHA
  236.                 CALL    WORD PTR CS:[DFadeUp]
  237.                 POPA
  238.                 ENDM
  239.  
  240. FadeTo          MACRO
  241.                 PUSHA
  242.                 PUSH    ES
  243.                 CALL    WORD PTR CS:[DFadeTo]
  244.                 POP     ES
  245.                 POPA
  246.                 ENDM
  247.  
  248. BlackOut        MACRO
  249.                 XPUSH   <DX, CX>
  250.                 CALL    WORD PTR CS:[DBlackOut]
  251.                 XPOP    <CX, DX>
  252.                 ENDM
  253.  
  254. DestPaleta      MACRO
  255.                 XPUSH   <BX, ES>
  256.                 CALL    WORD PTR CS:[DDestPaleta]
  257.                 XPOP    <ES, BX>
  258.                 ENDM
  259.  
  260. PonPixel        MACRO
  261.                 PUSH    ES
  262.                 PUSHA
  263.                 CALL    WORD PTR CS:[DPonPixel]
  264.                 POPA
  265.                 POP     ES
  266.                 ENDM
  267.  
  268. fPonPixel       MACRO
  269.                 PUSH    ES
  270.                 PUSHA
  271.                 CALL    WORD PTR CS:[DfPonPixel]
  272.                 POPA
  273.                 POP     ES
  274.                 ENDM
  275.  
  276. BorraPantalla   MACRO
  277.                 PUSHAD
  278.                 PUSH    ES
  279.                 CALL    WORD PTR CS:[DBorraPantalla]
  280.                 POP     ES
  281.                 POPAD
  282.                 ENDM
  283.  
  284. fBorraPantalla  MACRO
  285.                 PUSHAD
  286.                 PUSH    ES
  287.                 CALL    WORD PTR CS:[DfBorraPantalla]
  288.                 POP     ES
  289.                 POPAD
  290.                 ENDM
  291.  
  292. CogePixel       MACRO
  293.                 XPUSH   <ES, DI, SI>
  294.                 CALL    WORD PTR CS:[DCogePixel]
  295.                 XPOP    <SI, DI, ES>
  296.                 ENDM
  297.  
  298. fCogePixel      MACRO
  299.                 XPUSH   <ES, DI, SI>
  300.                 CALL    WORD PTR CS:[DfCogePixel]
  301.                 XPOP    <SI, DI, ES>
  302.                 ENDM
  303.  
  304. Rectangulo      MACRO
  305.                 PUSHA
  306.                 CALL    WORD PTR CS:[DRectangulo]
  307.                 POPA
  308.                 ENDM
  309.  
  310. fRectangulo     MACRO
  311.                 PUSHA
  312.                 CALL    WORD PTR CS:[DfRectangulo]
  313.                 POPA
  314.                 ENDM
  315.  
  316. Circulo         MACRO
  317.                 PUSHA
  318.                 CALL    WORD PTR CS:[DCirculo]
  319.                 POPA
  320.                 ENDM
  321.  
  322. fCirculo        MACRO
  323.                 PUSHA
  324.                 CALL    WORD PTR CS:[DfCirculo]
  325.                 POPA
  326.                 ENDM
  327.  
  328. ModoGrafico     MACRO
  329.                 CALL    WORD PTR CS:[DModoGrafico]
  330.                 ENDM
  331.  
  332. ModoTexto       MACRO
  333.                 CALL    WORD PTR CS:[DModoTexto]
  334.                 ENDM
  335.  
  336. Linea           MACRO
  337.                 PUSHA
  338.                 PUSH    ES
  339.                 CALL    WORD PTR CS:[DLinea]
  340.                 POP     ES
  341.                 POPA
  342.                 ENDM
  343.  
  344. fLinea          MACRO
  345.                 PUSHA
  346.                 PUSH    ES
  347.                 CALL    WORD PTR CS:[DfLinea]
  348.                 POP     ES
  349.                 POPA
  350.                 ENDM
  351.  
  352. Caja            MACRO
  353.                 PUSHA
  354.                 PUSH    ES
  355.                 CALL    WORD PTR CS:[DCaja]
  356.                 POP     ES
  357.                 POPA
  358.                 ENDM
  359.  
  360. fCaja           MACRO
  361.                 PUSHA
  362.                 PUSH    ES
  363.                 CALL    WORD PTR CS:[DfCaja]
  364.                 POP     ES
  365.                 POPA
  366.                 ENDM
  367.  
  368. Poligono        MACRO
  369.                 PUSHA
  370.                 PUSH    DS
  371.                 CALL    WORD PTR CS:[DPoligono]
  372.                 POP     DS
  373.                 POPA
  374.                 ENDM
  375.  
  376. fPoligono       MACRO
  377.                 PUSHA
  378.                 PUSH    DS
  379.                 CALL    WORD PTR CS:[DfPoligono]
  380.                 POP     DS
  381.                 POPA
  382.                 ENDM
  383.  
  384.  
  385. CreaVirtual     MACRO
  386.                 XPUSH   <BX, CX, DX>
  387.                 CALL    WORD PTR CS:[DCreaVirtual]
  388.                 XPOP    <DX, CX, BX>
  389.                 ENDM
  390.  
  391. CopiaPantalla   MACRO
  392.                 PUSHA
  393.                 XPUSH   <DS, ES>
  394.                 CALL    WORD PTR CS:[DCopiaPantalla]
  395.                 XPOP    <ES, DS>
  396.                 POPA
  397.                 ENDM
  398.  
  399. DestVirtual     MACRO
  400.                 PUSHA
  401.                 PUSH    ES
  402.                 CALL    WORD PTR CS:[DDestVirtual]
  403.                 POP     ES
  404.                 POPA
  405.                 ENDM
  406.  
  407.  
  408. SegmentoPV      MACRO
  409.                 XPUSH   <AX, BX>
  410.                 CALL    WORD PTR CS:[DSegmentoPV]
  411.                 XPOP    <BX, AX>
  412.                 ENDM
  413.  
  414. SegmentoPal     MACRO
  415.                 XPUSH   <AX, BX>
  416.                 CALL    WORD PTR CS:[DSegmentoPal]
  417.                 XPOP    <BX, AX>
  418.                 ENDM
  419.  
  420. SegmentoSprite  MACRO
  421.                 XPUSH   <AX, BX>
  422.                 CALL    WORD PTR CS:[DSegmentoSprite]
  423.                 XPOP    <BX, AX>
  424.                 ENDM
  425.  
  426. SegmentoAnima   MACRO
  427.                 XPUSH   <AX, BX>
  428.                 CALL    WORD PTR CS:[DSegmentoAnima]
  429.                 XPOP    <BX, AX>
  430.                 ENDM
  431.  
  432. VaciaMEM        MACRO
  433.                 XPUSH   <AX, CX>
  434.                 CALL    WORD PTR CS:[DVaciaMEM]
  435.                 XPOP    <CX, AX>
  436.                 ENDM
  437.  
  438. TrataError      MACRO
  439.                 CALL    WORD PTR CS:[DTrataError]
  440.                 ENDM
  441.  
  442. InsertaDirPV    MACRO
  443.                 PUSH    BX
  444.                 CALL    WORD PTR CS:[DInsertaDirPV]
  445.                 POP     BX
  446.                 ENDM
  447.  
  448. InsertaDirPal   MACRO
  449.                 PUSH    BX
  450.                 CALL    WORD PTR CS:[DInsertaDirPal]
  451.                 POP     BX
  452.                 ENDM
  453.  
  454. InsertaDirSprite MACRO
  455.                 PUSH    BX
  456.                 CALL    WORD PTR CS:[DInsertaDirSprite]
  457.                 POP     BX
  458.                 ENDM
  459.  
  460. InsertaDirAnima MACRO
  461.                 PUSH    BX
  462.                 CALL    WORD PTR CS:[DInsertaDirAnima]
  463.                 POP     BX
  464.                 ENDM
  465.  
  466.  
  467. CargaSprite     MACRO
  468.                 XPUSH   <DS, BP, ES>
  469.                 CALL    WORD PTR CS:[DCargaSprite]
  470.                 XPOP    <ES, BP, DS>
  471.                 ENDM
  472.  
  473. DestSprite      MACRO
  474.                 PUSH    ES
  475.                 PUSHA
  476.                 CALL    WORD PTR CS:[DDestSprite]
  477.                 POPA
  478.                 POP     ES
  479.                 ENDM
  480.  
  481. CambiaSprites   MACRO
  482.                 PUSHA
  483.                 CALL   CS:[DCambiaSprites]
  484.                 POPA
  485.                 ENDM
  486.  
  487. CreaSprite      MACRO
  488.                 CALL    WORD PTR CS:[DCreaSprite]
  489.                 ENDM
  490.  
  491. DibujaSprite    MACRO
  492.                 XPUSH   <DS, ES>
  493.                 PUSHA
  494.                 CALL    WORD PTR CS:[DDibujaSprite]
  495.                 POPA
  496.                 XPOP    <ES, DS>
  497.                 ENDM
  498.  
  499. fDibujaSprite   MACRO
  500.                 XPUSH   <DS, ES>
  501.                 PUSHA
  502.                 CALL    WORD PTR CS:[DfDibujaSprite]
  503.                 POPA
  504.                 XPOP    <ES, DS>
  505.                 ENDM
  506.  
  507. CargaCEL        MACRO
  508.                 XPUSH   <DS, ES>
  509.                 PUSHA
  510.                 CALL    WORD PTR CS:[DCargaCEL]
  511.                 POPA
  512.                 XPOP    <ES, DS>
  513.                 ENDM
  514.  
  515. GetImagen       MACRO
  516.                 XPUSH   <DS, ES, BX, CX, DX, DI, SI>
  517.                 CALL    WORD PTR CS:[DGetImagen]
  518.                 XPOP    <SI, DI, DX, CX, BX, ES, DS>
  519.                 ENDM
  520.  
  521. fGetImagen      MACRO
  522.                 XPUSH   <DS, ES, BX, CX, DX, DI, SI>
  523.                 CALL    WORD PTR CS:[DfGetImagen]
  524.                 XPOP    <SI, DI, DX, CX, BX, ES, DS>
  525.                 ENDM
  526.  
  527. DescompPuntos   MACRO
  528.                 PUSHAD
  529.                 CALL    WORD PTR CS:[DDescompPuntos]
  530.                 POPAD
  531.                 ENDM
  532.  
  533. DescompWorm     MACRO
  534.                 PUSHAD
  535.                 PUSH    ES
  536.                 CALL    WORD PTR CS:[DDescompWorm]
  537.                 POP     ES
  538.                 POPAD
  539.                 ENDM
  540.  
  541. LeePCX          MACRO
  542.                 CALL    WORD PTR CS:[DLeePCX]
  543.                 ENDM
  544.  
  545. ;;  Nuevas en GRAPH 2.0
  546.  
  547. LeeBMP          MACRO
  548.                 CALL    WORD PTR CS:[DLeeBMP]
  549.                 ENDM
  550.  
  551. InicGRAPH       MACRO
  552.                 CALL    WORD PTR CS:[DInicGRAPH]
  553.                 ENDM
  554.  
  555. EndGRAPH        MACRO
  556.                 CALL    WORD PTR CS:[DEndGRAPH]
  557.                 ENDM
  558.  
  559. CambiaTipo      MACRO
  560.                 CALL    WORD PTR CS:[DCambiaTipo]
  561.                 ENDM
  562.  
  563. QueTipo         MACRO
  564.                 CALL    WORD PTR CS:[DQueTipo]
  565.                 ENDM
  566.  
  567. SetCursor       MACRO
  568.                 CALL    WORD PTR CS:[DSetCursor]
  569.                 ENDM
  570.  
  571. GetCursor       MACRO
  572.                 CALL    WORD PTR CS:[DGetCursor]
  573.                 ENDM
  574.  
  575. CargaFuente     MACRO
  576.                 XPUSH   <DS, CX, ES, DI>
  577.                 CALL    WORD PTR CS:[DCargaFuente]
  578.                 XPOP    <DI, ES, CX, DS>
  579.                 ENDM
  580.  
  581. CogeFuenteDOS   MACRO
  582.                 XPUSH   <ES, BP, DS, BX, CX, DX, SI, DI>
  583.                 CALL    WORD PTR CS:[DCogeFuenteDOS]
  584.                 XPOP    <DI, SI, DX, CX, BX, DS, BP, ES>
  585.                 ENDM
  586.  
  587. EscLetra        MACRO
  588.                 XPUSH   <ES, BP, DS>
  589.                 PUSHA
  590.                 CALL    WORD PTR CS:[DEscLetra]
  591.                 POPA
  592.                 XPOP    <DS, BP, ES>
  593.                 ENDM
  594.  
  595. Escribe         MACRO
  596.                 XPUSH   <DX, AX, SI>
  597.                 CALL    WORD PTR CS:[DEscribe]
  598.                 XPOP    <SI, AX, DX>
  599.                 ENDM
  600.  
  601. LeeLetra        MACRO
  602.                 CALL    WORD PTR CS:[DLeeLetra]
  603.                 ENDM
  604.  
  605. LeeLetraEcho    MACRO
  606.                 PUSH    CX
  607.                 CALL    WORD PTR CS:[DLeeLetraEcho]
  608.                 POP     CX
  609.                 ENDM
  610.  
  611. LeeByte         MACRO
  612.                 PUSHA
  613.                 XPUSH   <DS, ES>
  614.                 CALL    WORD PTR CS:[DLeeByte]
  615.                 XPOP    <ES, DS>
  616.                 POPA
  617.                 ENDM
  618.  
  619. LeeCadena       MACRO
  620.                 CALL    WORD PTR CS:[DLeeCadena]
  621.                 ENDM
  622.  
  623. LeeWord         MACRO
  624.                 PUSHA
  625.                 XPUSH   <DS, ES>
  626.                 CALL    WORD PTR CS:[DLeeWord]
  627.                 XPOP    <ES, DS>
  628.                 POPA
  629.                 ENDM
  630.  
  631. EscByte         MACRO
  632.                 PUSHA
  633.                 PUSH    DS
  634.                 CALL    WORD PTR CS:[DEscByte]
  635.                 POP     DS
  636.                 POPA
  637.                 ENDM
  638.  
  639. EscWord         MACRO
  640.                 PUSHA
  641.                 PUSH    DS
  642.                 CALL    WORD PTR CS:[DEscWord]
  643.                 POP     DS
  644.                 POPA
  645.                 ENDM
  646.  
  647. Write           MACRO
  648.                 PUSHA
  649.                 CALL    WORD PTR CS:[DWrite]
  650.                 POPA
  651.                 ENDM
  652.  
  653. NuevoArchivo    MACRO
  654.                 XPUSH   <CX, DI, ES>
  655.                 CALL    WORD PTR CS:[DNuevoArchivo]
  656.                 XPOP    <ES, DI, CX>
  657.                 ENDM
  658.  
  659. LeeEntrada      MACRO
  660.                 PUSH    DS
  661.                 PUSHA
  662.                 CALL    WORD PTR CS:[DLeeEntrada]
  663.                 POPA
  664.                 POP     DS
  665.                 ENDM
  666.  
  667. LeeTrozo        MACRO
  668.                 PUSH    DS
  669.                 PUSHA
  670.                 CALL    WORD PTR CS:[DLeeTrozo]
  671.                 POPA
  672.                 POP     DS
  673.                 ENDM
  674.  
  675. LongitudFile    MACRO
  676.                 XPUSH   <DS, AX, BX, CX, DX>
  677.                 CALL    WORD PTR CS:[DLongitudFile]
  678.                 XPOP    <DX, CX, BX, AX, DS>
  679.                 ENDM
  680.  
  681. FlipCopy        MACRO
  682.                 XPUSH   <DS, ES>
  683.                 PUSHA
  684.                 CALL    WORD PTR CS:[DFlipCopy]
  685.                 POPA
  686.                 XPOP    <ES, DS>
  687.                 ENDM
  688.  
  689. Flip            MACRO
  690.                 PUSHA
  691.                 CALL    WORD PTR CS:[DFlip]
  692.                 POPA
  693.                 ENDM
  694.  
  695. SegmentoFuente  MACRO
  696.                 PUSHA
  697.                 CALL    WORD PTR CS:[DSegmentoFuente]
  698.                 POPA
  699.                 ENDM
  700.  
  701. DoblaLineas     MACRO
  702.                 PUSH    DX
  703.                 CALL    WORD PTR CS:[DDoblaLineas]
  704.                 POP     DX
  705.                 ENDM
  706.  
  707. SetStart        MACRO
  708.                 XPUSH   <DX, AX>
  709.                 CALL    WORD PTR CS:[DSetStart]
  710.                 XPOP    <AX, DX>
  711.                 ENDM
  712.  
  713. SetVSPixels     MACRO
  714.                 PUSH    DX
  715.                 CALL    WORD PTR CS:[DSetVSPixels]
  716.                 POP     DX
  717.                 ENDM
  718.  
  719. PideXMS         MACRO
  720.                 PUSH    AX
  721.                 CALL    WORD PTR CS:[DPideXMS]
  722.                 POP     AX
  723.                 ENDM
  724.  
  725. LiberaXMS       MACRO
  726.                 PUSHA
  727.                 CALL    WORD PTR CS:[DLiberaXMS]
  728.                 POPA
  729.                 ENDM
  730.  
  731. GetAddress      MACRO
  732.                 PUSH    AX
  733.                 CALL    WORD PTR CS:[DGetAddress]
  734.                 POP     AX
  735.                 ENDM
  736.  
  737. MaximaXMS       MACRO
  738.                 CALL    WORD PTR CS:[DMaximaXMS]
  739.                 ENDM
  740.  
  741. GuardaFlat      MACRO
  742.                 XPUSH   <DS, GS, EDI, ES, SI>
  743.                 CALL    WORD PTR CS:[DGuardaFlat]
  744.                 XPOP    <SI, ES, EDI, GS, DS>
  745.                 ENDM
  746.  
  747. CargaFlat       MACRO
  748.                 PUSHA
  749.                 XPUSH   <DS, GS, EDI, EDX>
  750.                 CALL    WORD PTR CS:[DCargaFlat]
  751.                 XPOP    <EDX, EDI, GS, DS>
  752.                 POPA
  753.                 ENDM
  754.  
  755. CargaBloque     MACRO
  756.                 XPUSH   <DI, SI, DX, CX, BX, DS, ES>
  757.                 CALL    WORD PTR CS:[DCargaBloque]
  758.                 XPOP    <ES, DS, BX, CX, DX, SI, DI>
  759.                 ENDM
  760.  
  761. CargaMapa       MACRO
  762.                 XPUSH   <DI, SI, DX, CX, BX, DS, ES>
  763.                 CALL    WORD PTR CS:[DCargaMapa]
  764.                 XPOP    <ES, DS, BX, CX, DX, SI, DI>
  765.                 ENDM
  766.  
  767. DestBloque      MACRO
  768.                 PUSHA
  769.                 PUSH    ES
  770.                 CALL    WORD PTR CS:[DDestBloque]
  771.                 POP     ES
  772.                 POPA
  773.                 ENDM
  774.  
  775. DestMapa        MACRO
  776.                 PUSHA
  777.                 PUSH    ES
  778.                 CALL    WORD PTR CS:[DDestMapa]
  779.                 POP     ES
  780.                 POPA
  781.                 ENDM
  782.  
  783. DibujaMapa      MACRO
  784.                 PUSHAD
  785.                 XPUSH   <ES, DS, GS, FS>
  786.                 CALL    WORD PTR CS:[DDibujaMapa]
  787.                 XPOP    <FS, GS, DS, ES>
  788.                 POPAD
  789.                 ENDM
  790.  
  791. PosMapa         MACRO
  792.                 XPUSH   <BP, DS>
  793.                 CALL    WORD PTR CS:[DPosMapa]
  794.                 XPOP    <DS, BP>
  795.                 ENDM
  796.  
  797. InsertaDirBloque MACRO
  798.                 PUSH    BX
  799.                 CALL    WORD PTR CS:[DInsertaDirBloque]
  800.                 POP     BX
  801.                 ENDM
  802.  
  803. InsertaDirMapa  MACRO
  804.                 PUSH    BX
  805.                 CALL    WORD PTR CS:[DInsertaDirMapa]
  806.                 POP     BX
  807.                 ENDM
  808.  
  809. ResetGRAPH      MACRO
  810.                 CALL    WORD PTR CS:[DResetGRAPH]
  811.                 ENDM
  812.  
  813. SegmentoBloque  MACRO
  814.                 XPUSH   <AX, BX>
  815.                 CALL    WORD PTR CS:[DSegmentoBloque]
  816.                 XPOP    <BX, AX>
  817.                 ENDM
  818.  
  819. SegmentoMapa    MACRO
  820.                 XPUSH   <AX, BX>
  821.                 CALL    WORD PTR CS:[DSegmentoMapa]
  822.                 XPOP    <BX, AX>
  823.                 ENDM
  824.  
  825. PlayFLI         MACRO
  826.                 XPUSH   <DS, ES>
  827.                 PUSHAD
  828.                 CALL    WORD PTR CS:[DPlayFli]
  829.                 POPAD
  830.                 XPOP    <ES, DS>
  831.                 ENDM
  832.  
  833. CreaMapa        MACRO
  834.                 XPUSH   <BX, CX, DX>
  835.                 CALL    WORD PTR CS:[DCreaMapa]
  836.                 XPOP    <DX, CX, BX>
  837.                 ENDM
  838.  
  839. CreaBloque      MACRO
  840.                 XPUSH   <BX, CX, DX>
  841.                 CALL    WORD PTR CS:[DCreaBloque]
  842.                 XPOP    <DX, CX, BX>
  843.                 ENDM
  844.  
  845. DestFuente      MACRO
  846.                 PUSHA
  847.                 PUSH    ES
  848.                 CALL    WORD PTR CS:[DDestFuente]
  849.                 POP     ES
  850.                 POPA
  851.                 ENDM
  852.  
  853. InsertaDirFuente MACRO
  854.                 PUSH    BX
  855.                 CALL    WORD PTR CS:[DInsertaDirFuente]
  856.                 POP     BX
  857.                 ENDM
  858.  
  859. GetSysInfo      MACRO
  860.                 CALL    WORD PTR CS:[DGetSysInfo]
  861.                 ENDM
  862.